感谢Apache DolphinScheduler,让我的青春永不褪色

个人介绍

我是李岗,是一名开源的爱好者和实践者,是Apache DolphinScheduler(incubator)的初始提交者和PPMC,也是Apache Local Community Beijing(ALC-Beijing)的member。

很开心、很庆幸自己可以成为开源领域的一员,更希望自己在未来不断地对开源持续探索、持续实践、持续分享,最终在开源领域贡献出自己的力量。

心路历程

一篇暴击心灵的文章、一场震撼人心的演讲都有可能成功让我们对开源产生好奇,产生兴趣,甚至一见钟情;

另一方面,开源软件也在不断地改变我们的生活和工作,每一次开源软件的使用都可能让我惊叹开源软件的魅力,不知不觉我们就已经种下了一颗希望的种子,希望自己有一天也可以进入到开源领域,希望自己写的代码,做出的贡献可以影响到全世界更多的人。

当这些充满希望、充满梦想的种子在我们心中开始发芽的时候,总有一天他会呼唤着我们行动起来,加入到开源领域。

与很多开源爱好者相比,我是幸运的,在2017年的时候,为了更好地支撑易观千帆产品,公司需要自研一个分布式的任务调度系统来调度自身的任务,而易观的企业文化就是独立、勇敢、乐观、开放,那我们就决定做一个开源的系统,把代码开放出去,让更多的企业去使用,自此我就开始了自己的开源之旅。

万丈高楼平地起,从项目启动的那一刻,我们就确定了开源的目标,也从那一刻,开源的种子也种在了每个人的心中,它是一个使命,也是所有人的共识和承诺。

分秒必争,使命必达,所有人都整装待发,2019年3月,我们迎来了第一批的外部种子用户,正式发布第一个开源版本1.0.0。后续又逐步推出了1.0.1,1.0.2,1.0.3版本。

开源的种子已经种下,只有破土而出,才能扎根于大地,我们又开始了新的征程,我们要进入到全球最大的基金会,也就是Apache基金会。

目标是坚定地,征程却是充满了挑战,所幸最终我们始终坚持,迎来了曙光,迎来了2019年8月29日DolphinScheduler成功过入到Apache孵化器的消息。当看到邮件里不断地出现+1,+1,+1的时候,一切的付出都变为了收获,一切的汗水都化为了成长。

开源能力

如果自己进入到开源领域是幸运的,那么当我首次从吴晟老师那里听到Apache Way的理念时,我一直在为Apache之道惊叹不已,我希望自己在未来可以去探索,去实践。

进入到Apache孵化器后,第一个里程碑就是要发布Apache Release,我自告奋勇充当了第一次的Release Manager,对于我印象最深的就是进行license的合规检查:

“什么是二进制依赖和源码依赖,如何根据二进制依赖和源码依赖列出license?”

“如何添加源码依赖?哪些license可以用于源码依赖?”

“前端字体和图标是否符合license许可?”

……….

因为Apache有着完善的法律框架和社会治理框架,对于license和商标有着近乎严苛的要求,在release的时候会进行非常仔细地检查,一开始真的没有太多的概念,而这些又特别的重要,否则就无法发版出来。我们的第一次发版就用了将近4个月的时间。

这里可以放一个链接(https://apache.org/legal/resolved.html#highlevel),如果大家之前也没有接触过,可以看一下,我想就可以体会出我当时的心情。

经历过第一次Apache Release,自己也更加体会到了Apache之道的独特魅力,精英治理、社区驱动、共识决策、透明开放都深深的吸引着我,也正是这种吸引让我继续前行。

2020年2月,当我在apache community的dev邮件列表里看到ALC Beijing要成立的消息时,

就开始回想自己的apache之路,有迷茫、有困惑、有挑战、有喜悦,它既是一段充满挑战的修行,也是一段浪漫的开源之旅。ALC Beijing的成立点燃了我内心的另外一盏灯,自己不仅仅是要做apache开源软件的参与者和贡献者,也希望可以成为一名Apache开源文化传播者。自己也特别有幸可以成为ALC Beijing的成员,在这里也收获了很多,因为在这里有很多的开源前辈,并且他们都非常热心,我们在2020的年终会议上也坚定了使命:帮助更多国内优秀的开源项目进入到Apache基金会,我们要让国内更多的项目走出去,走向全世界。

开源分享

Apache基金会是一个大家庭,非常的平等,非常的包容,我也希望可以把自己对开源的体会分享出去,传递给更多希望进入到开源的爱好者,在这里特别让我感触的是,我在南京开源供应链峰会开源-教育分论坛上进行的一次分享,我对教育有一种特别的情结,教育是伟大而神圣的事业,教育是为天地立心,为生民立命,为往圣继绝学,为万世开太平。我仿佛看到了冥冥之中的那一丝牵引,教育,开源,两个让我魂牵梦绕,荡气回肠的梦想,让我找到了一种新的责任,新的使命。

2020年自己也参与到了Outreachy活动,成为了一名mentor,我会与远在海外的实习生异步沟通,我们在slack交流,在邮件列表交流,我希望在这个短暂的实习旅途里他们不仅仅可以提升代码技能,也可以体会到开源异步协作,积累开源沟通技巧!

教育,开源这两个响亮的名字再一次响彻我的心中,我推开窗户,抬头望了一下蔚蓝的天空,眼睛盯着蔚蓝天空的白云深处,我想我已经找到了让我飞翔和驰骋的地方。

开源总结

参与到开源项目是很好的去提升自己技术和架构能力的途径,因为Apache的开源项目都是公开透明的,在这里不仅是代码公开透明,技术方案讨论、决策也都是公开透明的,我们都可以从github的issue和邮件列表里看到。所以只要我们持续的参与开源项目,无论是从技术广度和深度都会与不错的提升。

除去技术,更多的是在社区里如何讨论,如何决策,因为这里遵循着共识的机制,能不投票就不要投票,所以我们会发现很多时候对于方案的推进会相对较慢,但是它的优势是方案的讨论会更加的全面,这里其实就相当于Peer Review,我们都在通过邮件去表达想法,它一定是更加的全面和优质的,那么共识其实就是在这里找到一个平衡,从而更加稳定的去推动项目健康的向前发展。

因为社区的本质是人,好的代码,好的架构,好的文档都是由每一位贡献者完成的,我们在通过协作的模式去改变着这个community.

感谢易观,感谢CTO郭炜老师,让我可以幸运的成为一名全职的开源工程师。

感谢我们的导师吴晟老师、史少锋老师、陈亮老师、Furkan Kamaci老师和Kevin Ratnasekera老师,感谢导师们对我们的耐心指导和每一次Apache Release的细心检查。

感谢每一位使用过DS的用户、每一位参与过DS社区贡献的伙伴,感谢你们愿意牺牲自己宝贵的时间与我们一同前行!感谢姜宁老师、李建盛老师、孙金城老师和娟神以及所有指导和帮助过我的各位开源大咖和贡献者。

太多的感谢汇成一句话,感谢所有的开源爱好者组成了一个平等、开放、精英、共识的大家庭,可以让我们一起修行、一起成长、让我们在忙碌之余依然有着诗和远方。

共同期许

坚持自己的理想,追逐自己的梦想,并且探索自己独立的思想的时候,我们的青春就已经开始了,希望你与开源的遇见是青春的开始,或者是青春的延续!

我特别喜欢关于教育的一句话,教育是一棵树摇动着一棵树,一个灵魂感动着一个灵魂,其实开源也是如此,当我们作为新手时,社区会给我们提供很多帮助,而当我们不断地贡献,我们会获取到社区的信任,然后自己有了影响力,我们又开始去帮助更多的新加入开源的爱好者,这其实也是在不断地传递开源精神,传播知识和技能。

我也真心祝愿我们所有的开源爱好者都可以通过开源创造出一个属于自己的故事,这个故事关于独立、关于开放、关于挑战,我们选择了做一名斗士,挑战全新的异步协作模式、挑战自己的英语、挑战自己的演讲、挑战自己的写作,甚至我们会把开源当作一辈子的职业,我相信再过了5年,10年,我们一定感谢那个曾经的自己,当我们慕然回首,一定会对当初的那个自己说一句:”谢谢你,我的开源,我的青春!”